热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

攻击者|受害者_AttacksonTCP/IPProtocols(Task3)SYNFloodingAttack

篇首语:本文由编程笔记#小编为大家整理,主要介绍了AttacksonTCP/IPProtocols(Task3)SYNFloodingAttack相关的知识,希望对你有一定的参考价

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Attacks on TCP/IP Protocols (Task3) SYN Flooding Attack相关的知识,希望对你有一定的参考价值。


Task3: SYN Flooding Attack  

①SYN泛洪攻击工作原理

SYN泛洪是一种DoS攻击的形式,攻击者向受害者的TCP端口发送许多SYN请求,但是这些攻击者并无意完成3次握手的过程,攻击者使用虚假的IP地址或不继续该过程。通过这种攻击,攻击者可以淹没受害者的这些被用于 半开放式连接 的队列,即,连接已经完成SYN,SYN-ACK,但没有完成最后的ACK。当这个队列已满时,受害者不能再完成任何连接。下图(Figure 1)说明了攻击。






注:实验过程中遇到的问题或者必要知识点的储备如下

(1)必要的命令

检查系统队列大小设置:

# sysctl -q net.ipv4.tcp_max_syn_backlog

检查队列的使用情况:

# netstat -na | grep tcp

禁止/启用SYN COOKIE:

# sysctl -w net.ipv4.tcp_synCOOKIEs=0
# sysctl -w net.ipv4.tcp_synCOOKIEs=1
(2)
SYN COOKIE工作原理

SYN COOKIE是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。其原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个COOKIE值。在收到TCP ACK包时,TCP服务器再根据那个COOKIE值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。

(3)如何构造SYN报文

使用netwox 76号指令。

netwox 76 --dst-ip 192.168.175.140 --dst-port 80
netwox 76 --dst-ip 192.168.175.140 --dst-port 23
上面两条指令,攻击者使用随机的虚假IP分别向victim(192.168.175.140)的80端口和23端口发送大量SYN请求。

过程演示

attackers    :Machine1(192.168.175.139)

victim   :Machine2(192.168.175.140)

observer    :Machine3(192.168.175.141)

(1)攻击前 victim 用于 半开放式连接 队列的使用情况


(2)victim禁止SYN COOKIE


(3)attack向victim的23端口发送大量SYN请求。(Telnet服务默认端口号:23)




(4)攻击后 victim 用于 半开放式连接 队列的使用情况


(5)observer使用telnet命令请求远程登录victim,登陆失败


(6)在victim开启SYN COOKIE的情况下,SYN Flood攻击无效。

具体原因,在前面的SYN COOKIE工作原理可解释。



推荐阅读
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • Telnet的使用(Telnet远程连接Linux)
    一、环境描述:客户端:Win10操作系统 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • adfs是什么_培训与开发的概念
    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候 ... [详细]
  • 找到JDK下载URL当然去官网找了。目前最新的1.8的下载URL(RPM)如下:http:download.oracle.comotn-pubjavajdk8u161-b122f3 ... [详细]
  • 一.常见基于身份识别进行反爬1通过headers字段来反爬headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫1.1通过headers中的User-A ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有